package com.jrx.anytxn.param.mapper.ext;


import com.jrx.anytxn.param.entity.BtLimitAdjustInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 调额信息mapper扩展
 *
 * @author : zhenghaopu
 * 2020/1/7
*/
public interface ExtBtLimitAdjustInfoMapper {

    /**
     * 查询未发送mq的调额信息
     *
     * @param mqStatus mq状态
     * @return 调额信息列表
     */
    List<BtLimitAdjustInfo> selectListByMqStatusForBatch(@Param("mqStatus") String mqStatus);


    /**
     * 批量插入信息
     * @param btLimitAdjustInfoList 调额信息
     */
    void batchInsert(List<BtLimitAdjustInfo> btLimitAdjustInfoList);

    /**
     * 批量更新信息（用于联机）
     * @param btLimitAdjustInfoList 调额信息
     */
    void batchUpdate(List<BtLimitAdjustInfo> btLimitAdjustInfoList);

    /**
     * 批量更新信息（用于批量）
     * @param btLimitAdjustInfoList 调额信息
     */
    void batchUpdateForBatch(List<BtLimitAdjustInfo> btLimitAdjustInfoList);

    /**
     * 批量调额--修改调额状态
     *
     * @author : zhenghaopu
     * @param condition 流水号
     */
    void updateBySeqNoAndTenantIdForBatch(BtLimitAdjustInfo condition);

    /**
     * 按照条件查询调额记录
     * @param batchId
     * @param tenantId
     * @return 调额信息列表
     */
    List<BtLimitAdjustInfo> selectListByBatchIdAndTenantId(@Param("batchId") String batchId,
                                                           @Param("tenantId") String tenantId);

    BtLimitAdjustInfo selectByTenantIdAndSeqNo(@Param("tenantId") String tenantId,
                                               @Param("seqNo") String seqNo);
}